অর্গ.জেসন (Org.Json) লাইব্রেরি Java-তে JSON ডেটা প্রসেস করার জন্য একটি জনপ্রিয় টুল। এতে আপনি সহজেই JSON অবজেক্ট তৈরি, ম্যানিপুলেট, এবং প্যার্স করতে পারেন। যখন JSON ডেটা জটিল বা নেস্টেড (Nested) হয়, তখন JSON ডেটাকে প্যার্স করা কিছুটা চ্যালেঞ্জিং হতে পারে। তবে, সঠিক পদ্ধতি অনুসরণ করলে, আপনি সহজেই নেস্টেড JSON অবজেক্টগুলি এক্সট্র্যাক্ট এবং প্যার্স করতে পারবেন।
Complex JSON Object
Complex JSON Object হল এমন একটি JSON অবজেক্ট, যা একাধিক নেস্টেড অবজেক্ট এবং অ্যারে ধারণ করে। যেমন, একটি ব্যক্তি সম্পর্কে ডেটা যেখানে তার নাম, ঠিকানা, ফোন নম্বর, এবং অন্যান্য বৈশিষ্ট্য অন্তর্ভুক্ত থাকতে পারে। এই ধরনের JSON ডেটা সাধারণত API থেকে আসে এবং সেগুলি প্যার্স করা প্রয়োজন হয়।
Complex JSON Object উদাহরণ
ধরা যাক, আমাদের কাছে একটি JSON ডেটা রয়েছে, যা একটি ব্যক্তি এবং তার সম্পর্কিত ডেটা ধারণ করে। এখানে ব্যক্তি সম্পর্কে তার নাম, বয়স, ফোন নম্বর এবং ঠিকানা রয়েছে, যেটি একটি নেস্টেড অবজেক্ট।
উদাহরণ: Complex JSON Object
{
"name": "John Doe",
"age": 30,
"phoneNumbers": [
"123-456-7890",
"987-654-3210"
],
"address": {
"street": "123 Main St",
"city": "New York",
"zipcode": "10001"
}
}
এই JSON ডেটাকে প্যার্স করার জন্য, JSONObject এবং JSONArray ক্লাস ব্যবহার করা হবে।
Nested JSON Parsing
নেস্টেড JSON Parsing হল একটি প্রক্রিয়া যেখানে JSON অবজেক্টের মধ্যে অবস্থিত অন্য অবজেক্ট বা অ্যারে থেকে ডেটা এক্সট্র্যাক্ট করা হয়। এটি JSON ডেটাকে হায়ারার্কিকাল স্ট্রাকচারে উপস্থাপন করে এবং প্রতিটি স্তরের ডেটা প্যার্স করার জন্য সঠিক কিওয়ার্ড ব্যবহার করতে হয়।
উদাহরণ: Complex JSON Object এবং Nested JSON Parsing
import org.json.JSONArray;
import org.json.JSONObject;
public class NestedJsonParsing {
public static void main(String[] args) {
// JSON স্ট্রিং
String jsonString = "{"
+ "\"name\": \"John Doe\","
+ "\"age\": 30,"
+ "\"phoneNumbers\": [\"123-456-7890\", \"987-654-3210\"],"
+ "\"address\": {"
+ "\"street\": \"123 Main St\","
+ "\"city\": \"New York\","
+ "\"zipcode\": \"10001\""
+ "}"
+ "}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// JSON থেকে মান এক্সট্র্যাক্ট করা
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
// JSONArray থেকে ফোন নম্বরগুলো এক্সট্র্যাক্ট করা
JSONArray phoneNumbers = jsonObject.getJSONArray("phoneNumbers");
String phoneNumber1 = phoneNumbers.getString(0); // প্রথম ফোন নম্বর
String phoneNumber2 = phoneNumbers.getString(1); // দ্বিতীয় ফোন নম্বর
// Nested JSON Object (address) থেকে ডেটা এক্সট্র্যাক্ট করা
JSONObject address = jsonObject.getJSONObject("address");
String street = address.getString("street");
String city = address.getString("city");
String zipcode = address.getString("zipcode");
// JSON ডেটা প্রদর্শন
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Phone Numbers: " + phoneNumber1 + ", " + phoneNumber2);
System.out.println("Street: " + street);
System.out.println("City: " + city);
System.out.println("Zipcode: " + zipcode);
}
}
কোড ব্যাখ্যা
- JSONObject jsonObject = new JSONObject(jsonString);
JSON স্ট্রিং থেকেJSONObjectতৈরি করা হয়েছে। - getString() এবং getInt():
JSONObjectথেকে সোজা স্ট্রিং বা ইনটিজার মান এক্সট্র্যাক্ট করতে এই মেথডগুলো ব্যবহার করা হয়। - JSONArray phoneNumbers = jsonObject.getJSONArray("phoneNumbers");
এটি ফোন নম্বরের অ্যারে পেতে ব্যবহার করা হয়। এরপর, অ্যারে থেকে নির্দিষ্ট ইনডেক্স দিয়ে ফোন নম্বর এক্সট্র্যাক্ট করা হয়। - JSONObject address = jsonObject.getJSONObject("address");
এটি নেস্টেড JSON অবজেক্টaddressএক্সট্র্যাক্ট করার জন্য ব্যবহার করা হয়। তারপর,getString()মেথড দিয়েstreet,city, এবংzipcodeএক্সট্র্যাক্ট করা হয়।
JSON অবজেক্টের সঠিক পদ্ধতিতে প্যার্সিং
নেস্টেড JSON অবজেক্ট বা অ্যারে প্যার্স করার সময়, কিছু গুরুত্বপূর্ণ পদ্ধতি রয়েছে:
- নেস্টেড অবজেক্ট: যখন JSON ডেটা একটি অবজেক্ট ধারণ করে (যেমন
address), তখনgetJSONObject()মেথড ব্যবহার করে ঐ অবজেক্টটি এক্সট্র্যাক্ট করতে হয়। - অ্যারে প্যার্সিং: যখন JSON ডেটা একটি অ্যারে ধারণ করে (যেমন
phoneNumbers), তখনgetJSONArray()মেথড ব্যবহার করে অ্যারে এক্সট্র্যাক্ট করতে হয় এবং এরপর অ্যারের ইনডেক্স দিয়ে মানগুলো এক্সট্র্যাক্ট করতে হয়।
সারাংশ
অর্গ.জেসন (Org.Json) লাইব্রেরি Java-তে JSON ডেটা প্যার্স এবং ম্যানিপুলেশনের জন্য একটি কার্যকরী টুল। Complex JSON Objects এবং Nested JSON Parsing প্রয়োগ করার মাধ্যমে আমরা JSON ডেটার বিভিন্ন স্তরের ডেটা সহজেই এক্সট্র্যাক্ট করতে পারি। JSON ডেটা যদি অনেক লেয়ার এবং অ্যারে ধারণ করে, তবে সঠিক পদ্ধতিতে প্যার্সিং ব্যবহার করলে ডেটার সঠিক মান পাওয়া যায় এবং সহজেই এটি ম্যানিপুলেট করা যায়।
org.json লাইব্রেরি Java-তে JSON ডেটা ম্যানিপুলেশন করার জন্য খুবই জনপ্রিয় একটি লাইব্রেরি। JSON ডেটা স্ট্রাকচার যেমন JSONObject এবং JSONArray তৈরি করার পর, এগুলোকে String ফরম্যাটে রূপান্তর করতে toString() মেথড ব্যবহার করা হয়। এই রূপান্তর পদ্ধতি ব্যবহার করে JSON অবজেক্ট এবং অ্যারে থেকে একটি JSON স্ট্রিং তৈরি করা যায়, যা সাধারণত API কল, ফাইল সেভিং, বা নেটওয়ার্ক ট্রান্সমিশনে ব্যবহৃত হয়।
JSON Object/Array কে String এ রূপান্তর করার জন্য প্রয়োজনীয় লাইব্রেরি
import org.json.JSONObject;
import org.json.JSONArray;
১. JSONObject কে String এ রূপান্তর করা
JSONObject অবজেক্টটিকে String এ রূপান্তর করতে toString() মেথড ব্যবহার করা হয়। এই মেথড JSON অবজেক্টটিকে একটি JSON ফরম্যাটেড স্ট্রিংয়ে কনভার্ট করে, যা সাধারণত API রেসপন্স বা ডেটাবেজে স্টোর করার জন্য উপযুক্ত।
উদাহরণ: JSONObject কে String এ রূপান্তর করা
import org.json.JSONObject;
public class JSONObjectToStringExample {
public static void main(String[] args) {
// একটি নতুন JSON অবজেক্ট তৈরি করা
JSONObject jsonObject = new JSONObject();
// কিপেয়ার-ভ্যালু যোগ করা
jsonObject.put("name", "John Doe");
jsonObject.put("age", 30);
jsonObject.put("city", "New York");
// JSONObject কে String এ রূপান্তর করা
String jsonString = jsonObject.toString();
// JSON স্ট্রিং প্রিন্ট করা
System.out.println(jsonString);
}
}
এখানে jsonObject.toString() মেথড ব্যবহার করে JSONObject কে একটি স্ট্রিংয়ে রূপান্তর করা হয়েছে। আউটপুট হবে:
{"name":"John Doe","age":30,"city":"New York"}
২. JSONArray কে String এ রূপান্তর করা
JSONArray একটি অ্যারে ধরনের JSON ডেটা, যেখানে একাধিক ভ্যালু রাখা যেতে পারে। JSONArray কে String এ রূপান্তর করার জন্যও toString() মেথড ব্যবহার করা হয়। এটি JSONArray ডেটাকে একটি JSON স্ট্রিংয়ে রূপান্তর করে।
উদাহরণ: JSONArray কে String এ রূপান্তর করা
import org.json.JSONArray;
public class JSONArrayToStringExample {
public static void main(String[] args) {
// একটি নতুন JSON অ্যারে তৈরি করা
JSONArray jsonArray = new JSONArray();
// অ্যারে তে ডেটা যোগ করা
jsonArray.put("Apple");
jsonArray.put("Banana");
jsonArray.put("Orange");
// JSONArray কে String এ রূপান্তর করা
String jsonString = jsonArray.toString();
// JSON স্ট্রিং প্রিন্ট করা
System.out.println(jsonString);
}
}
এখানে jsonArray.toString() মেথড ব্যবহার করা হয়েছে JSONArray কে JSON স্ট্রিংয়ে রূপান্তর করতে। আউটপুট হবে:
["Apple","Banana","Orange"]
৩. Pretty Print (সহজ পাঠযোগ্য স্ট্রিং)
যখন JSON অবজেক্ট বা অ্যারে বেশি বড় হয় এবং আপনাকে JSON ডেটা আরো পাঠযোগ্য (pretty print) আউটপুট হিসেবে দেখতে হয়, তখন toString(int indentFactor) মেথড ব্যবহার করা হয়। এই মেথডটি JSON ডেটাকে নির্দিষ্ট ইন্ডেন্টেশনসহ রূপান্তর করে, যা উন্নত পাঠযোগ্যতা প্রদান করে।
উদাহরণ: Pretty Print এর মাধ্যমে JSON রূপান্তর
import org.json.JSONObject;
public class PrettyPrintExample {
public static void main(String[] args) {
// একটি নতুন JSON অবজেক্ট তৈরি করা
JSONObject jsonObject = new JSONObject();
// কিপেয়ার-ভ্যালু যোগ করা
jsonObject.put("name", "John Doe");
jsonObject.put("age", 30);
jsonObject.put("city", "New York");
// Pretty print এ JSON অবজেক্ট রূপান্তর করা
String jsonString = jsonObject.toString(4); // ৪ স্পেস ইন্ডেন্টেশন
// JSON স্ট্রিং প্রিন্ট করা
System.out.println(jsonString);
}
}
এখানে jsonObject.toString(4) মেথডে ৪ স্পেস ইন্ডেন্টেশন ব্যবহার করা হয়েছে। আউটপুট হবে:
{
"name": "John Doe",
"age": 30,
"city": "New York"
}
এটি JSON ডেটাকে আরো স্পষ্ট এবং পঠনযোগ্য করে তোলে।
৪. JSONArray এবং JSONObject একসাথে ব্যবহার
একটি JSONObject এর মধ্যে JSONArray থাকা সাধারণ বিষয়। নিচে একটি উদাহরণ দেওয়া হয়েছে যেখানে JSONObject এর মধ্যে একটি JSONArray রয়েছে।
উদাহরণ: JSONArray এবং JSONObject একসাথে ব্যবহার করা
import org.json.JSONArray;
import org.json.JSONObject;
public class NestedJSONObjectExample {
public static void main(String[] args) {
// একটি নতুন JSON অবজেক্ট তৈরি করা
JSONObject jsonObject = new JSONObject();
// কিপেয়ার-ভ্যালু যোগ করা
jsonObject.put("name", "John Doe");
jsonObject.put("age", 30);
// একটি নতুন JSON অ্যারে তৈরি করা
JSONArray jsonArray = new JSONArray();
jsonArray.put("Apple");
jsonArray.put("Banana");
// JSONArray কে JSONObject এ যোগ করা
jsonObject.put("fruits", jsonArray);
// JSONObject কে String এ রূপান্তর করা
String jsonString = jsonObject.toString(4);
// JSON স্ট্রিং প্রিন্ট করা
System.out.println(jsonString);
}
}
এখানে jsonObject.put("fruits", jsonArray) মেথডের মাধ্যমে JSONArray একটি কিপেয়ার হিসেবে JSONObject এর মধ্যে যুক্ত করা হয়েছে। আউটপুট হবে:
{
"name": "John Doe",
"age": 30,
"fruits": [
"Apple",
"Banana"
]
}
উপসংহার
org.json লাইব্রেরির JSONObject এবং JSONArray ক্লাসের মাধ্যমে JSON ডেটাকে সহজেই String এ রূপান্তর করা যায়। toString() মেথড ব্যবহার করে JSON ডেটাকে স্ট্রিং ফরম্যাটে রূপান্তর করা সম্ভব এবং toString(int indentFactor) মেথড ব্যবহার করে JSON ডেটাকে আরও পাঠযোগ্য বা pretty print আউটপুট হিসেবে পাওয়া যায়। JSON ডেটা স্ট্রিং আকারে রূপান্তরের ফলে এটি ওয়েব API, ডেটাবেস ইন্টিগ্রেশন বা ফাইল হ্যান্ডলিংয়ের জন্য খুবই উপকারী।
toString() মেথড হল JSONObject ক্লাসের একটি গুরুত্বপূর্ণ মেথড যা JSON অবজেক্টের কন্টেন্টকে স্ট্রিং ফরম্যাটে কনভার্ট করে। এটি বিশেষভাবে JSON ডেটা ভিউ বা প্রিন্ট করার জন্য ব্যবহৃত হয়। সাধারণভাবে, যখন JSON অবজেক্টের কন্টেন্ট দেখতে চান বা অন্য কোনো সিস্টেম বা ফাংশনে পাঠাতে চান, তখন toString() মেথডটি ব্যবহার করা হয়।
toString() মেথডের কাজ
toString() মেথডের মাধ্যমে JSON অবজেক্টের সমস্ত কীগুলির মান একটি স্ট্রিং হিসেবে রিটার্ন করা হয়। এটি JSON অবজেক্টের ডেটা সহজে প্রিন্ট করতে সহায়তা করে এবং JSON ফরম্যাটে ডেটাকে পাঠানোর বা প্রদর্শনের জন্য উপযুক্ত একটি স্ট্রিং প্রদান করে।
toString() মেথডের সাইনট্যাক্স
public String toString()
এটি কোনো ইনপুট নেয় না এবং একটি স্ট্রিং রিটার্ন করে যা JSON অবজেক্টের কন্টেন্টকে JSON স্ট্রাকচারে কনভার্ট করে।
toString() মেথডের ব্যবহার
এখানে একটি উদাহরণ দেওয়া হলো যেখানে toString() মেথড ব্যবহার করে একটি JSON অবজেক্ট তৈরি করা হয়েছে এবং সেটি স্ট্রিং হিসেবে প্রিন্ট করা হয়েছে।
উদাহরণ:
import org.json.JSONObject;
public class JSONObjectToStringExample {
public static void main(String[] args) {
// নতুন JSONObject তৈরি
JSONObject obj = new JSONObject();
// ডেটা যোগ করা
obj.put("name", "John Doe");
obj.put("age", 30);
obj.put("isStudent", false);
// toString() মেথড ব্যবহার করে JSON অবজেক্টের কন্টেন্ট স্ট্রিং হিসেবে প্রিন্ট করা
String jsonString = obj.toString();
// JSON স্ট্রিং প্রিন্ট করা
System.out.println(jsonString);
}
}
আউটপুট:
{"name":"John Doe","age":30,"isStudent":false}
এখানে, toString() মেথডটি JSON অবজেক্টের কন্টেন্টকে একটি স্ট্রিং এ রূপান্তরিত করেছে যা একটি স্ট্যান্ডার্ড JSON ফরম্যাটে রয়েছে। এই স্ট্রিংটি আপনি সার্ভারে পাঠাতে, বা অন্যান্য API ইন্টারঅ্যাকশন করতে ব্যবহার করতে পারবেন।
toString() মেথডের অপশনাল আর্গুমেন্ট
toString() মেথডের একটি অতিরিক্ত ভার্সনও রয়েছে যা আপনি পিডিএফ ফরম্যাটে, ফরম্যাটেড JSON স্ট্রিং পেতে ব্যবহার করতে পারেন। এটি একটি int আর্গুমেন্ট নেয় যা ইন্ডেন্টেশন স্পেসের সংখ্যা নির্ধারণ করে, এর মাধ্যমে আউটপুট JSON ফরম্যাটকে আরও পাঠযোগ্য ও সুগম করা হয়।
উদাহরণ:
import org.json.JSONObject;
public class JSONObjectFormattedStringExample {
public static void main(String[] args) {
// নতুন JSONObject তৈরি
JSONObject obj = new JSONObject();
// ডেটা যোগ করা
obj.put("name", "John Doe");
obj.put("age", 30);
obj.put("isStudent", false);
// toString() মেথডের সাথে ইন্ডেন্টেশন যুক্ত করা
String formattedJsonString = obj.toString(4);
// ফরম্যাটেড JSON স্ট্রিং প্রিন্ট করা
System.out.println(formattedJsonString);
}
}
আউটপুট:
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
এখানে toString(4) মেথডটি আউটপুটে ৪ স্পেস ইন্ডেন্টেশন ব্যবহার করে JSON অবজেক্টকে ফরম্যাট করেছে, যা আরও পাঠযোগ্য এবং সুগম হয়েছে। এটি বিশেষভাবে তখন ব্যবহারী হয় যখন আপনি JSON ডেটা লোকাল বা ডিবাগিংয়ের জন্য প্রিন্ট করতে চান।
সারাংশ
toString() মেথডটি JSON অবজেক্টের কন্টেন্টকে স্ট্রিং আকারে রিটার্ন করে, যা JSON ডেটাকে প্রিন্ট বা ইন্টারঅ্যাক্ট করার জন্য অত্যন্ত কার্যকরী। ফরম্যাটেড JSON আউটপুটের জন্য toString(int indentFactor) মেথড ব্যবহার করা হয়, যা ডেটাকে আরও সুরুচিপূর্ণ এবং পাঠযোগ্য বানিয়ে দেয়। JSON ডেটা ম্যানিপুলেশনের জন্য toString() একটি অপরিহার্য টুল যা ডেভেলপারদের জন্য সহজে JSON ডেটা ভিউ, লগিং এবং স্টোরেজের কাজ সহজ করে তোলে।
অর্গ.জেসন (Org.Json) লাইব্রেরি Java-তে JSON স্ট্রিংকে JSONObject বা JSONArray-এ রূপান্তর করার জন্য সরল এবং কার্যকরী উপায় প্রদান করে। JSON স্ট্রিংকে পাস করে সহজেই JSONObject বা JSONArray অবজেক্ট তৈরি করা সম্ভব। এই টপিকের মধ্যে JSON স্ট্রিংকে JSONObject এবং JSONArray-এ রূপান্তর করার পদ্ধতিটি বিস্তারিতভাবে দেখানো হবে।
JSON String কে JSONObject-এ রূপান্তর করা
ধরা যাক, আপনার কাছে একটি JSON স্ট্রিং রয়েছে এবং আপনি সেটিকে JSONObject-এ রূপান্তর করতে চান।
উদাহরণ
import org.json.JSONObject;
public class JSONStringToJSONObject {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি
String jsonString = "{\"name\": \"John Doe\", \"age\": 30, \"isEmployed\": true}";
// JSON স্ট্রিং কে JSONObject এ রূপান্তর করা
JSONObject jsonObject = new JSONObject(jsonString);
// JSONObject থেকে ডেটা এক্সট্র্যাক্ট করা
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean isEmployed = jsonObject.getBoolean("isEmployed");
// JSON অবজেক্টের কন্টেন্ট প্রিন্ট করা
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Is Employed: " + isEmployed);
// JSONObject সম্পূর্ণ আউটপুট হিসেবে প্রিন্ট করা
System.out.println(jsonObject.toString(4)); // 4 ইন্ডেন্টেশন স্পেস
}
}
কোড ব্যাখ্যা
- String jsonString: একটি JSON স্ট্রিং তৈরি করা হচ্ছে, যেটি
JSONObject-এ রূপান্তরিত হবে। - new JSONObject(jsonString): JSON স্ট্রিংটি
JSONObjectঅবজেক্টে রূপান্তরিত করা হচ্ছে। - jsonObject.getString(), jsonObject.getInt(), jsonObject.getBoolean(): JSON অবজেক্ট থেকে নির্দিষ্ট কীগুলির মান এক্সট্র্যাক্ট করা হচ্ছে।
আউটপুট
Name: John Doe
Age: 30
Is Employed: true
{
"name": "John Doe",
"age": 30,
"isEmployed": true
}
JSON String কে JSONArray-এ রূপান্তর করা
যদি আপনার কাছে JSON স্ট্রিং একটি অ্যারে হিসেবে থাকে এবং আপনি সেটিকে JSONArray-এ রূপান্তর করতে চান, তাহলে আপনি নিচের মতো কাজ করতে পারেন।
উদাহরণ
import org.json.JSONArray;
public class JSONStringToJSONArray {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি (এখানে JSON অ্যারে)
String jsonString = "[{\"name\": \"John Doe\", \"age\": 30}, {\"name\": \"Jane Smith\", \"age\": 25}]";
// JSON স্ট্রিং কে JSONArray এ রূপান্তর করা
JSONArray jsonArray = new JSONArray(jsonString);
// JSONArray থেকে ডেটা এক্সট্র্যাক্ট করা
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
System.out.println("Name: " + name + ", Age: " + age);
}
// JSONArray সম্পূর্ণ আউটপুট হিসেবে প্রিন্ট করা
System.out.println(jsonArray.toString(4)); // 4 ইন্ডেন্টেশন স্পেস
}
}
কোড ব্যাখ্যা
- String jsonString: একটি JSON অ্যারে স্ট্রিং তৈরি করা হয়েছে, যেখানে দুটি অবজেক্ট রয়েছে।
- new JSONArray(jsonString): JSON স্ট্রিংটি
JSONArrayঅবজেক্টে রূপান্তরিত করা হচ্ছে। - jsonArray.getJSONObject(i): JSONArray এর মধ্যে প্রতিটি
JSONObjectএক্সট্র্যাক্ট করা হচ্ছে এবং তার ভ্যালু এক্সট্র্যাক্ট করা হচ্ছে।
আউটপুট
Name: John Doe, Age: 30
Name: Jane Smith, Age: 25
[
{
"name": "John Doe",
"age": 30
},
{
"name": "Jane Smith",
"age": 25
}
]
সারাংশ
এইভাবে আপনি JSON স্ট্রিংকে JSONObject বা JSONArray-এ রূপান্তর করতে পারেন। JSONObject ব্যবহার করে আপনি একক JSON অবজেক্টের ডেটা ম্যানিপুলেট করতে পারেন, এবং JSONArray ব্যবহার করে আপনি একটি অ্যারে ধারণকারী JSON অবজেক্টের ডেটা ম্যানিপুলেট করতে পারবেন। Org.Json লাইব্রেরি আপনাকে JSON ডেটা প্রসেসিংয়ের জন্য একটি সহজ ও কার্যকরী উপায় প্রদান করে।
অর্গ.জেসন (Org.Json) লাইব্রেরি Java-তে JSON ডেটা ম্যানিপুলেশন করার জন্য একটি জনপ্রিয় এবং শক্তিশালী টুল। JSON (JavaScript Object Notation) ডেটা স্ট্রিং হিসেবে উপস্থিত থাকে এবং বিভিন্ন অ্যাপ্লিকেশনে ডেটা এক্সচেঞ্জের জন্য ব্যবহৃত হয়। এই লাইব্রেরিটি আপনাকে JSON স্ট্রিং তৈরি, পর্যালোচনা এবং পরিবর্তন করতে সহায়তা করে। নিচে JSON স্ট্রিং ম্যানিপুলেশনের কিছু সাধারণ উদাহরণ দেওয়া হলো।
১. JSON স্ট্রিং তৈরি এবং পার্স করা
প্রথমে JSON স্ট্রিং তৈরি এবং তা JSON অবজেক্টে রূপান্তর করা হবে। এরপর, JSON অবজেক্টের ডেটা অ্যাক্সেস করা হবে।
উদাহরণ:
import org.json.JSONObject;
public class JSONStringManipulationExample {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// JSON অবজেক্ট থেকে মান পাওয়া
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");
// কনসোল আউটপুট
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
}
}
কোড ব্যাখ্যা:
- প্রথমে একটি JSON স্ট্রিং তৈরি করা হয়েছে।
new JSONObject(jsonString)মেথড ব্যবহার করে JSON স্ট্রিংটিকেJSONObjectঅবজেক্টে রূপান্তরিত করা হয়েছে।- এরপর
getString(),getInt()ইত্যাদি মেথড ব্যবহার করে JSON অবজেক্ট থেকে মান অ্যাক্সেস করা হয়েছে।
২. JSON স্ট্রিং আপডেট এবং নতুন কী-মান যোগ করা
আপনি JSON অবজেক্টে নতুন কী-মান যোগ করতে বা পুরনো মান আপডেট করতে put() মেথড ব্যবহার করতে পারেন।
উদাহরণ:
import org.json.JSONObject;
public class JSONUpdateExample {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// নতুন কী-মান পেয়ার যোগ করা বা পুরনো মান আপডেট করা
jsonObject.put("age", 35); // age আপডেট করা
jsonObject.put("country", "USA"); // নতুন কী-মান পেয়ার যোগ করা
// কনসোল আউটপুট
System.out.println("Updated JSON: " + jsonObject.toString());
}
}
কোড ব্যাখ্যা:
put("age", 35)মেথডটিageকী এর মান ৩০ থেকে ৩৫ আপডেট করেছে।put("country", "USA")নতুন একটি কী-মান পেয়ারcountryযোগ করেছে।
৩. JSON থেকে নির্দিষ্ট কী অপসারণ (remove)
কোনো নির্দিষ্ট কী JSON অবজেক্ট থেকে অপসারণ করতে remove() মেথড ব্যবহার করা হয়।
উদাহরণ:
import org.json.JSONObject;
public class JSONRemoveKeyExample {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// একটি কী অপসারণ করা
jsonObject.remove("city"); // "city" কী অপসারণ
// কনসোল আউটপুট
System.out.println("JSON after removal: " + jsonObject.toString());
}
}
কোড ব্যাখ্যা:
remove("city")মেথডটিcityকীটি JSON অবজেক্ট থেকে অপসারণ করে।- এর ফলে "city" কী আর JSON অবজেক্টে থাকবে না।
৪. JSON স্ট্রিং থেকে নেস্টেড অবজেক্টে অ্যাক্সেস করা
JSON স্ট্রিংয়ে যদি নেস্টেড অবজেক্ট থাকে, তাহলে আপনি JSON অবজেক্টে সেই নেস্টেড অবজেক্টের মান অ্যাক্সেস করতে পারেন।
উদাহরণ:
import org.json.JSONObject;
public class JSONNestedObjectExample {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি (নেস্টেড অবজেক্ট সহ)
String jsonString = "{\"name\":\"John\", \"address\":{\"city\":\"New York\", \"zipcode\":\"10001\"}}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// নেস্টেড অবজেক্ট থেকে মান পাওয়া
JSONObject address = jsonObject.getJSONObject("address");
String city = address.getString("city");
String zipcode = address.getString("zipcode");
// কনসোল আউটপুট
System.out.println("City: " + city);
System.out.println("Zipcode: " + zipcode);
}
}
কোড ব্যাখ্যা:
- JSON স্ট্রিংয়ে
addressনামে একটি নেস্টেড অবজেক্ট রয়েছে। getJSONObject("address")মেথডটিaddressঅবজেক্টটি JSON অবজেক্ট হিসেবে ফেরত দেয়।- তারপর
getString("city")এবংgetString("zipcode")ব্যবহার করে নেস্টেড অবজেক্টের মান অ্যাক্সেস করা হয়েছে।
৫. JSON স্ট্রিং থেকে opt() মেথড ব্যবহার
যদি একটি কী JSON অবজেক্টে না থাকে, তাহলে opt() মেথড ব্যবহার করলে এটি null ফেরত দেবে, যা get() মেথডের তুলনায় নিরাপদ পদ্ধতি।
উদাহরণ:
import org.json.JSONObject;
public class JSONOptExample {
public static void main(String[] args) {
// JSON স্ট্রিং তৈরি
String jsonString = "{\"name\":\"John\", \"age\":30}";
// JSON স্ট্রিং থেকে JSONObject তৈরি
JSONObject jsonObject = new JSONObject(jsonString);
// opt() মেথড ব্যবহার করে নিরাপদভাবে মান পাওয়া
String name = jsonObject.optString("name");
String city = jsonObject.optString("city", "Unknown");
// কনসোল আউটপুট
System.out.println("Name: " + name);
System.out.println("City: " + city); // Default value "Unknown"
}
}
কোড ব্যাখ্যা:
optString("name")মেথডটিnameকী এর মান ফেরত দেয়।optString("city", "Unknown")মেথডটিcityকী না থাকলে"Unknown"ডিফল্ট মান ফেরত দেয়।
সারাংশ
অর্গ.জেসন (Org.Json) লাইব্রেরি JSON ডেটার সাথে ম্যানিপুলেশন করার জন্য বিভিন্ন মেথড সরবরাহ করে, যেমন:
get(): নির্দিষ্ট কী থেকে মান এক্সট্র্যাক্ট করা।put(): নতুন কী-মান পেয়ার যোগ বা পুরনো মান আপডেট করা।remove(): নির্দিষ্ট কী অপসারণ করা।opt(): নিরাপদভাবে মান এক্সট্র্যাক্ট করা।
এই মেথডগুলো JSON ডেটার সাথে কাজ করার সময় খুবই কার্যকরী এবং এটি ডেভেলপারদের JSON ডেটা ম্যানিপুলেশন করতে সহায়তা করে।
Read more